
/*
每列的打印内容
 */
class XBeanLabelColumnText {

    //字体大小:  0:默认 1:放大1倍  2:放大2倍
    int textSize=0;
    //对齐方式: 0:左对齐 1:居中  2:右对齐
    int align=0;

    /*
    列之间的间隔距离,间隔多少个字符byte长度,
    如: 2个长度是1个中文字, 1个长度为1个数字/字母,
    默认间隔1个中文字的距离
    注意: column_totalBytesLength-column_space_bytes >= 2, 否则无法算法处理后,无法截取显示
     */
    int column_space_bytes=2;

    //自动计算列宽(针对单列或双列的第2列)
    bool isAutoFixColumnWidth=true;

    //当前列的字符总长度(gbk->bytes), 如:20 中文字10个,字母/数字20个
    //注意:字体大小不同,列宽显示的字数不同,这里是对应字体大小的字体个数bytes长度
    int column_textSize_totalBytesLength=0;

    //类型: 0文字 1条形码  2二维码  3图片  4画线-方框  5画线-线条
    int textType=0;

    //当前列的待打印的内容字符/条码/二维码内容
    String text='';

    //是否在条码底部显示内容
    bool isShowBarcodeText=false;
    //条码/二维码的高度/宽度
    bool isBarQrcodeMaxHeight=false;//barcode 48/96  qrcode 4/8
    //文字/条码/二维码旋转角度:0,90,180,270
    int rotation=0;//旋转角度

    //算法处理使用(内部使用) ////////////////////
    String cut_text_print='';//截取打印部分
    String cut_text_waitPrint='';//截取未打印部分


    //独立坐标画线条,方框
    int startX=0;
    int startY=0;
    int endX=0;
    int endY=0;
    int line_thickness=2;//线宽dots
    int line_width=0;//线宽
    int line_height=0;//线高


    ////////////////////

    //文字,条码,二维码
    XBeanLabelColumnText(
        {
            required this.isAutoFixColumnWidth,
            required this.column_textSize_totalBytesLength,
            required this.column_space_bytes,
            required this.textType,
            required this.text,
            required this.textSize,
            required this.align,
            required this.isShowBarcodeText,
            required this.isBarQrcodeMaxHeight,
            required this.rotation
        }
        );

}
